package com.py.custom.tms.application.jvm.classload;

/**
 * 对于静态字段来说，只有定义了该字段的类才会被初始化；
 * 当一个类在初始化的时候，要求其父类全部已经初始化完毕。
 * -XX:+TraceClassLoading 打印出jvm加载的类
 * -XX:+<option> : 开启option选项
 * -XX:+<option> : 关闭option选项
 * -XX:<option>=<value> : 将option选项进行赋值value
 */
public class MyTest1 {

    public static void main(String[] args) {
        // System.out.println(MyChild1.str2);
        System.out.println(MyChild1.str1);
    }
}

class MyParent1 {
    public static String str1 = "hello world";

    static {
        System.out.println("MyParent1 static block");
    }
}

class MyChild1 extends MyParent1 {
    public static String str2 = "welcome";

    static {
        System.out.println("MyChild1 static block");
    }
}
